package common.model.admin;

import java.time.LocalDateTime;

import lombok.Data;


@Data
public class AdminUser {
    /**
     * 主键ID
     */
    private Long id;
    /**
     * 登录账号
     */
    private String username;
    /**
     * 哈希加密密码
     */
    private String passwordHash;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 角色ID
     */
    private Integer roleId;
    /**
     * 状态(0禁用,1启用,2锁定)
     */
    private Integer status;
    /**
     * 连续登录失败次数
     */
    private Integer loginFailCount;
    /**
     * 最后登录IP
     */
    private String lastLoginIp;
    /**
     * 最后登录时间
     */
    private LocalDateTime lastLoginTime;
    /**
     * 是否启用2FA两步验证
     */
    private boolean twoFaEnabled;
    /**
     * 两步验证2FA密钥
     */
    private String twoFaSecret;
    /**
     *  是否在线
     */
    private boolean online;
    /**
     *  是否在线
     */
    private LocalDateTime lastOnlineTime;
    /**
     * 创建者
     */
    private Long createdBy;
    /**
     * 更新者
     */
    private Long updatedBy;
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;
    /**
     * 是否删除标记
     */
    private Integer isDeleted;
}
